home *** CD-ROM | disk | FTP | other *** search
/ IRIX Installation Tools & Overlays 2001 May / SGI IRIX Installation Tools & Overlays 2001 May - Disc 3.iso / relnotes / dmedia_eoe / ch09.z / ch09
Text File  |  2001-04-16  |  10KB  |  331 lines

  1.  
  2.  
  3.  
  4.                                   - 1 -
  5.  
  6.  
  7.  
  8.        9.  _S_o_f_t_w_a_r_e__M_I_D_I__S_y_n_t_h_e_s_i_z_e_r
  9.  
  10.  
  11.        The software wavetable MIDI synthesizer, _m_i_d_i_s_y_n_t_h, is a
  12.        server daemon which provides MIDI wavetable synthesis
  13.        services for applications. The MIDI synthesizer generates
  14.        sounds on demand as requested by client programs using a
  15.        single audio port, and it is started automatically on demand
  16.        when a client MIDI application attempts to connect to it
  17.        through a software MIDI port.
  18.  
  19.        The MIDI synthesizer is installed from the optional
  20.        subsystem _d_m_e_d_i_a__e_o_e._s_w._s_y_n_t_h.  To enable General MIDI
  21.        synthesis, it is also necessary to install the subsystem
  22.        _d_m_e_d_i_a__e_o_e._d_a_t_a._s_y_n_t_h, which contains a full set of General
  23.        MIDI presets for the synthesizer.
  24.  
  25.        These related tools are also included in
  26.        _d_m_e_d_i_a__e_o_e._s_w._s_y_n_t_h:
  27.  
  28.           +o Synthesizer Panel (_s_y_n_t_h_p_a_n_e_l(1)), a graphical control
  29.             panel for the software Synthesizer. See the
  30.             "Synthesizer Panel" chapter in these release notes.
  31.  
  32.           +o MIDI Keyboard (_m_i_d_i_k_e_y_s(1)), a "virtual" MIDI
  33.             controller which may be used to control the internal
  34.             software synthesizer or an external MIDI device. See
  35.             the "MIDI Keyboard Tool" chapter in these release
  36.             notes.
  37.  
  38.           +o Synthesizer Editor (_s_y_n_t_h_e_d_i_t_o_r(1)), a graphical
  39.             preset/voice editor for the software Synthesizer. See
  40.             the "Synthesizer Editor" chapter in these release
  41.             notes.
  42.  
  43.        Sound Player (_s_o_u_n_d_p_l_a_y_e_r(1)), installed from the
  44.        _d_m_e_d_i_a__e_o_e._s_w._t_o_o_l_s subsystem, can be used to play back
  45.        standard MIDI files along with the software synthesizer and
  46.        General MIDI sample set.
  47.  
  48.        A collection of sample General MIDI compositions is included
  49.        in the optional subsystem _d_m_e_d_i_a__e_o_e._d_a_t_a._m_u_s_i_c.  These
  50.        compositions are stored as Standard MIDI Files, and are
  51.        installed in the directory /usr/share/data/music.  Try
  52.        loading them into Sound Player and playing them back using
  53.        the internal software synthesizer.
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.                                   - 2 -
  71.  
  72.  
  73.  
  74.        9.1  _C_h_a_n_g_e_s__a_n_d__A_d_d_i_t_i_o_n_s
  75.  
  76.        This section lists changes/additions to the MIDI synthesizer
  77.        since the IRIX 6.3/6.4 _P_C_I _A_u_d_i_o _O_p_t_i_o_n _s_u_p_p_o_r_t + _g_e_n_e_r_a_l
  78.        _a_u_d_i_o _a_n_d _M_I_D_I _s_y_n_t_h_e_s_i_z_e_r _b_u_g-_f_i_x_e_s patch.
  79.  
  80.           +o A chorus effects unit is now available, and both it and
  81.             the reverb effects unit are now channel-specific.
  82.             Channel levels are controlled via the EFFECTSLEVEL1 and
  83.             EFFECTSLEVEL3 MIDI controller messages.  The chorus
  84.             type and settings may be set via _s_y_n_t_h_p_a_n_e_l.
  85.  
  86.           +o Preset and sample loading are now handled in a separate
  87.             thread, so on-the-fly preset loads do not interrupt the
  88.             playback of voices.
  89.  
  90.           +o Voice limits may now be set on a preset-by-preset
  91.             basis.  This eliminated the problem of the percussion
  92.             track monopolizing all the synthesizer voices, and made
  93.             several other presets, such as the Acoustic Grand
  94.             Piano, function more efficiently.
  95.  
  96.           +o Reverb and Chorus are now on by default when running in
  97.             General MIDI mode (the default).  The default channel
  98.             level for both effects is zero, though, so no effects
  99.             will be heard unless 1) the MIDI file being played sets
  100.             the effect levels (see above) or 2) the user sets a
  101.             global reverb level for all channels using the _G_l_o_b_a_l
  102.             _R_e_v_e_r_b _L_e_v_e_l slider in the _s_y_n_t_h_p_a_n_e_l Run Time
  103.             Parameters window (see the release notes for
  104.             Synthesizer Panel).
  105.  
  106.           +o Closely related to the previous item:  Reverberation no
  107.             longer "cuts out" when CPU usage reaches preset limit;
  108.             CPU limiting is handled via voice stealing only.
  109.  
  110.        This section lists earlier changes/additions to the MIDI
  111.        synthesizer made between the IRIX 6.3/6.4 release and the
  112.        patch described above.
  113.  
  114.           +o Preset bank files, specifically those in SoundFont2-
  115.             compatible format, may now be loaded as alternates to
  116.             the default General MIDI bank which comes with the
  117.             distribution.  Banks may be loaded via the _S_y_n_t_h_e_s_i_z_e_r
  118.             _P_a_n_e_l. These banks may also be specified and loaded as
  119.             directories containing preset files which follow the
  120.             midisynth GM filename system (see _s_y_n_t_h_p_r_e_s_e_t(4) for
  121.             details).
  122.  
  123.           +o Now responds to GS bank-select messages, allowing the
  124.             selection of GS preset variations (if available in the
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.                                   - 3 -
  137.  
  138.  
  139.  
  140.             current bank) and selection of the various GS
  141.             percussion banks.
  142.  
  143.           +o Now handles Registered Program Numbers (RPN's) 0, 1,
  144.             and 2 along with Data Entry MIDI messages.
  145.  
  146.           +o Now handles combination presets with overlapping key
  147.             and/or velocity ranges.
  148.  
  149.           +o Many new preset parameters are available, including
  150.             envelope attack and release time modulation and
  151.             variable keyboard tuning.
  152.  
  153.           +o Envelope generators may now have their gain modulated
  154.             by other envelope generators or by control oscillators.
  155.  
  156.           +o Now reports errors due to missing or unreadable bank
  157.             files, preset files, sound files, and unknown
  158.             parameters and illegal parameter values.  These will be
  159.             displayed by Synthesizer Panel, MIDI Keyboard, and/or
  160.             Synthesizer Editor if any of these are running.
  161.  
  162.           +o Up to 16 preset file names may be specified on the
  163.             command line when starting _m_i_d_i_s_y_n_t_h by hand.
  164.  
  165.           +o Synthesizer performance (measured by number of
  166.             simultaneous voices) has been improved by about 40%.
  167.  
  168.  
  169.  
  170.        9.2  _B_u_g__F_i_x_e_s
  171.  
  172.           +o Voice stealing now works without clicks, which also
  173.             enables mono voice mode.
  174.  
  175.                +o MIDI Channel volume and expression controller
  176.                  messages are now correctly mapped into the channel
  177.                  gain, as described in the MIDI spec.
  178.  
  179.                +o LSB (Least Significant Byte) MIDI controllers are
  180.                  now handled (they were being ignored).
  181.  
  182.                +o A Reset All Controllers MIDI message to a single
  183.                  channel now resets only that channel, as per the
  184.                  MIDI spec, and does not alter the volume,
  185.                  expression, or pan values.  The All Notes Off and
  186.                  All Sound Off messages also now are channel-
  187.                  specific, as per the MIDI spec.
  188.  
  189.                +o Continuous controllers (e.g., Modulation Wheel)
  190.                  now are scaled properly.  Earlier versions were
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.                                   - 4 -
  203.  
  204.  
  205.  
  206.                  producing twice the expected modulation amount.
  207.  
  208.                +o MIDI synthesizer now correctly handles the General
  209.                  MIDI Mode On/Off message.
  210.  
  211.                +o Program changes now work on MIDI channel 10
  212.                  (percussion channel) when in non-GM mode.
  213.  
  214.                +o MIDI synthesizer now reports via the system log if
  215.                  the General MIDI preset file set or sound file set
  216.                  (installed from _d_m_e_d_i_a__e_o_e._d_a_t_a._s_y_n_t_h are missing
  217.                  at startup time.
  218.  
  219.                +o Multiple audio oscillators in a voice may now be
  220.                  enveloped separately.  A bug had caused all
  221.                  oscillators to follow the first oscillator's
  222.                  envelope.
  223.  
  224.                +o Envelope looping (forward, backward, or forward
  225.                  and backward) now work properly.
  226.  
  227.                +o Low frequency control oscillator (LFO) frequencies
  228.                  are now not affected by pitch bend or master tune
  229.                  unless they are also tracking the keyboard.
  230.  
  231.                +o Reverb unit now tracks the sampling rate setting.
  232.                  Before this, reverb times were distorted if
  233.                  sampling rates other than 44100 were used.
  234.  
  235.                +o Many memory leaks fixed.
  236.  
  237.  
  238.  
  239.        9.3  _K_n_o_w_n__P_r_o_b_l_e_m_s__a_n_d__W_o_r_k_a_r_o_u_n_d_s
  240.  
  241.  
  242.  
  243.           +o MIDI synthesizer has a tendency to use a lot of memory,
  244.             often exceeding 15 Mb.  Currently there is no way to
  245.             recover/reduce this memory without killing and
  246.             restarting the synth process.  This workaround is the
  247.             option currently available via the Synthezier Panel
  248.             API.
  249.  
  250.           +o The audio output of the MIDI synthesizer will
  251.             occasionally break up when other uninterruptable
  252.             processes (such as screen updates) compete for the CPU.
  253.             This is best solved by running the synth at times when
  254.             other CPU-intensive activities are not being run.
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.                                   - 5 -
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.